#pragma once
#include "../Common.h"

class VideoClip
{
public:
    VideoClip(){}
    ~VideoClip(){}
    VideoClip(const JsonVideoClip& JsonData);
    
private:
    void SetProPerty();

public:
    vector<pair<shared_ptr<JsonVideoClip::VideoClipInfo>, shared_ptr<Clip>>> VideoClipArray;
};

class AudioClip
{
public:
    AudioClip(){}
    ~AudioClip(){}
    AudioClip(const JsonAudioClip& JsonData);
    
private:
    void SetProPerty();

public:
    vector<pair<shared_ptr<JsonAudioClip::AudioClipInfo>, shared_ptr<Clip>>> AudioClipArray;
};

class VideoEffectClip
{
public:
    VideoEffectClip(){}
    ~VideoEffectClip(){}
    VideoEffectClip(const JsonVideoEffectClip& JsonData);

private:
    void SetProPerty();

public:
    vector<pair<shared_ptr<JsonVideoEffectClip::VideoEffectClipInfo>, shared_ptr<Clip>>> VideoEffectClipArray;
};